package br.edu.unilasalle.simon_test.cadastro;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

import br.edu.unilasalle.simon_test.AbstractPage;

public class FornecedorPage extends AbstractPage {

	@FindBy(id = "btnAdicionar")
	protected WebElement adicionar;
	
	@FindBy(id = "cnpj")
	protected WebElement cnpj;
	
	@FindBy(id = "empresa")
	protected WebElement empresa;
	
	@FindBy(id = "contato")
	protected WebElement contato;
	
	@FindBy(id = "email")
	protected WebElement email;
	
	@FindBy(id = "telefone")
	protected WebElement telefone;
	
	@FindBy(id = "telefone2")
	protected WebElement telefone2;
	
	@FindBy(linkText = "Endereço")
	protected WebElement menuEndereco;
	
	@FindBy(id = "cep")
	protected WebElement cep;
	
	@FindBy(id = "selEstado")
	protected WebElement selEstado;
	
	@FindBy(id = "selCidade")
	protected WebElement selCidade;
	
	@FindBy(id = "bairro")
	protected WebElement bairro;
	
	@FindBy(id = "endereco")
	protected WebElement endereco;
	
	@FindBy(id = "numero")
	protected WebElement numero;
	
	@FindBy(id = "complemento")
	protected WebElement complemento;
	
	@FindBy(id = "btnAtualizar")
	protected WebElement atualizar;
	
	@FindBy(id = "btnIncluir")
	protected WebElement incluir;
	
	public FornecedorPage(WebDriver driver) {
		super(driver);
	}
	
	public void abreTela() {
		openAsAdmin();
		open("/#/fornecedores-list");
	}
	
	public void cadastrarFornecedor() throws Exception {
		adicionar.click();
		
		typeMask(cnpj, "71779464000196");
		type(empresa, "fornTeste");
		type(contato, "João Ninguém");
		type(email, "email@teste.com");
		typeMask(telefone, "5133334444");
		typeMask(telefone2, "5199998888");
		
		menuEndereco.click();
		typeMask(cep, "92200270"); waitAjaxComplete();
		//selectComboByValue(selEstado, "22");
		//selectComboByValue(selCidade, "79");
		//type(bairro, "Rio Branco");
		//type(endereco, "Rua Paes Lemes");
		typeMask(numero, "720");
		type(complemento, "Casa 87");
		
		find(incluir).click();
		waitAjaxComplete();
	}

	public void editarFornecedor() {
		detalharRegistro("fornTeste");
		empresa.clear();
		type(empresa, "fornTeste2");
		atualizar.click();
		waitAjaxComplete();
	}

}
